Matthias Clasen [Sun, 5 Apr 2020 04:37:23 +0000 (00:37 -0400)]
gdk: Move modifier mask api to GdkDisplay
GdkKeymap is on the way out.
Matthias Clasen [Sun, 5 Apr 2020 04:36:42 +0000 (00:36 -0400)]
gdk: Add keymap properties to GdkDevice
GdkKeymap is on the way out.
Matthias Clasen [Sun, 5 Apr 2020 04:30:23 +0000 (00:30 -0400)]
passwordentry: Show caps lock warning more
Show the caps lock warning regardless of whether we
have the peek icon or not.
Matthias Clasen [Sun, 5 Apr 2020 00:04:42 +0000 (20:04 -0400)]
Drop some no longer used code
Matthias Clasen [Sun, 5 Apr 2020 00:03:44 +0000 (20:03 -0400)]
cell renderer accel: Use gdk_event_get_match
Matthias Clasen [Sun, 5 Apr 2020 00:02:20 +0000 (20:02 -0400)]
Add gdk_event_get_match
This is a counterpart to gdk_event_matches() that can
be used to obtain a shortcut matching an event.
Matthias Clasen [Sat, 4 Apr 2020 21:51:32 +0000 (17:51 -0400)]
Add gdk_event_matches
Move the elaborate key event matching code from
GtkShortcutTrigger to GdkEvent, which greatly reduces
the amount of keymap api use outside of GDK.
Matthias Clasen [Sat, 4 Apr 2020 21:09:12 +0000 (21:09 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1630
Matthias Clasen [Sat, 4 Apr 2020 19:35:18 +0000 (15:35 -0400)]
gtk-demo: Fix a crash
Using the assistant demo repeatedly was crashing.
Matthias Clasen [Sat, 4 Apr 2020 16:31:43 +0000 (16:31 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
shortcuts: documentation fixes
See merge request GNOME/gtk!1628
Matthias Clasen [Sat, 4 Apr 2020 16:31:43 +0000 (16:31 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
shortcuts: documentation fixes
See merge request GNOME/gtk!1628
Matthias Clasen [Sat, 4 Apr 2020 15:38:47 +0000 (11:38 -0400)]
shortcuts: documentation fixes
Update symbol lists, and add examples for parsing triggers
and actions.
Piotr Drąg [Sat, 4 Apr 2020 09:56:04 +0000 (11:56 +0200)]
Update POTFILES.skip
Matthias Clasen [Sat, 4 Apr 2020 05:00:22 +0000 (05:00 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1626
Matthias Clasen [Fri, 3 Apr 2020 21:42:22 +0000 (17:42 -0400)]
colorbutton: Don't add a customize menu
The color swatch in the button does not need a
context menu. Turn it off.
Matthias Clasen [Fri, 3 Apr 2020 21:39:49 +0000 (17:39 -0400)]
colorbutton: Fix focus
The colorbutton contains a button which contains a colorswatch.
We want the focus to go straight to the button, nowhere else,
so mark the swatch as !can-focus.
Adapt tests to match.
Matthias Clasen [Mon, 30 Mar 2020 00:35:17 +0000 (20:35 -0400)]
demos: Remove can-focus from ui files
Matthias Clasen [Sat, 4 Apr 2020 04:03:40 +0000 (04:03 +0000)]
Merge branch 'scrollbar-a11y' into 'master'
Add GtkScrollbarAccessible
See merge request GNOME/gtk!1623
Matthias Clasen [Sat, 4 Apr 2020 03:31:45 +0000 (23:31 -0400)]
scrollbar: Be more defensive
Somehow the scrollbar accessible manages to call
gtk_scrollbar_get_adjustment when priv->range is NULL.
Survive taht.
Matthias Clasen [Sat, 4 Apr 2020 03:12:10 +0000 (03:12 +0000)]
Merge branch 'shortcut-action-parse' into 'master'
Shortcut action parse
See merge request GNOME/gtk!1625
Matthias Clasen [Sat, 4 Apr 2020 02:42:00 +0000 (22:42 -0400)]
testsuite: Add tests for parsing shortcut actions
Matthias Clasen [Sat, 4 Apr 2020 02:41:15 +0000 (22:41 -0400)]
Add an api to parse shortcut actions
This is so we can test this code. While doing it
I also fixed the missing else that was caused it
not to work.
Matthias Clasen [Fri, 3 Apr 2020 19:14:26 +0000 (15:14 -0400)]
Add GtkScrollbarAccessible
When GtkScrollbar stopped being a GtkRange,
GtkRangeAccessible stopped working for scrollbars.
Update a11y tests to match.
Carlos Garnacho [Fri, 3 Apr 2020 18:37:44 +0000 (18:37 +0000)]
Merge branch 'wip/carlosg/fix-surrounding-text-master' into 'master'
imwayland: Clamp the surrounding string end correctly
Closes #2565
See merge request GNOME/gtk!1621
Matthias Clasen [Fri, 3 Apr 2020 18:23:27 +0000 (18:23 +0000)]
Merge branch 'focus-test' into 'master'
Focus test
See merge request GNOME/gtk!1622
Carlos Garnacho [Fri, 3 Apr 2020 10:44:37 +0000 (12:44 +0200)]
imwayland: Clamp the surrounding string end correctly
In the paths where len > MAX_LEN and cursor/anchor are separated by
at least MAX_LEN from text edges, we were clamping the right end of
the surrounding string at MAX_LEN. Oops.
This end anchor may go as far as the string length, although just
up to len - MAX_LEN in real terms (due to the condition above that
caches cursor/anchor positions being near enough the text end).
Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2565
(cherry-picked from commit
d7fb15c822eabe22ffda19892153d69b0f4fc2f3)
Matthias Clasen [Fri, 3 Apr 2020 13:36:19 +0000 (09:36 -0400)]
testsuite: Add a big focus chain testcase
Matthias Clasen [Fri, 3 Apr 2020 15:22:00 +0000 (11:22 -0400)]
testsuite: Try harder to record a full focus chain
It is hard to avoid widgets with the same name in a
large ui file - try harder to record a full focus chain
before decide that we've wrapped, by including the widget
address in the comparison. Note that we don't include
the addresses in the generated output, since that would
make expected output vary from run to run.
Emmanuele Bassi [Fri, 3 Apr 2020 15:21:59 +0000 (15:21 +0000)]
Merge branch 'gir-fixes' into 'master'
Annotation fixes
See merge request GNOME/gtk!1616
Matthias Clasen [Fri, 3 Apr 2020 15:03:51 +0000 (15:03 +0000)]
Merge branch 'move-gdkgrab-decl' into 'master'
gdk: Move GdkGrabStatus and GdkGrabOwnership decl.
See merge request GNOME/gtk!1615
Emmanuele Bassi [Fri, 3 Apr 2020 14:30:56 +0000 (15:30 +0100)]
Annotation fixes
Match the arguments name in the declaration and the definition, and make
sure we have the proper transfer annotations.
Olivier Fourdan [Fri, 3 Apr 2020 13:19:37 +0000 (15:19 +0200)]
gdk: Move GdkGrabStatus and GdkGrabOwnership decl.
With the removal of `gdk_seat_grab` we do not need to keep the
definitions of `GdkGrabStatus` and `GdkGrabOwnership` public.
Move those definitions to become internal only.
Timm Bäder [Fri, 3 Apr 2020 06:03:32 +0000 (08:03 +0200)]
shortcutcontroller: fix transfer full annotation
Timm Bäder [Fri, 3 Apr 2020 05:37:54 +0000 (07:37 +0200)]
window: Don't leak toplevel layout
Matthias Clasen [Fri, 3 Apr 2020 01:07:14 +0000 (01:07 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1611
Matthias Clasen [Thu, 2 Apr 2020 21:40:44 +0000 (17:40 -0400)]
wayland: Add a comment about keyboard state handling
Clarify a point that took me a few hours to fully track
down, so lets preserve what I found for the next poor
sould coming this way.
Matthias Clasen [Mon, 30 Mar 2020 01:50:55 +0000 (21:50 -0400)]
a11y tests: Update for focus state changes
Matthias Clasen [Mon, 30 Mar 2020 01:48:57 +0000 (21:48 -0400)]
a11y: Set focus-related states properly
Entries and menubuttons are no longer focusable themselves,
they have focusable children. Since we don't have accessible
objects for those, transfer the focus-related state (focusable
and focused) from the children to the main accessible object.
Matthias Clasen [Thu, 2 Apr 2020 21:21:01 +0000 (17:21 -0400)]
window: tie focus to surface state changes
We don't get a focus-out on the event controller, when
the surface is losing keyboard focus, since we are not
moving our focus to some other widget, so we are never
unsetting the mnemonics-visible property. Do that in
response to surface state changes instead.
Matthias Clasen [Thu, 2 Apr 2020 20:43:29 +0000 (20:43 +0000)]
Merge branch 'cherry-picked-wayland-keyboard-fix' into 'master'
gdk/wayland: Clear modifiers when we lose keyboard focus
Closes #2112
See merge request GNOME/gtk!1610
Jan Alexander Steffens (heftig) [Thu, 2 Apr 2020 17:31:22 +0000 (19:31 +0200)]
gdk/wayland: Clear modifiers when we lose keyboard focus
When we `Alt+Tab` away from a GTK application, it loses keyboard focus.
If we don't clear the modifiers, events from other devices that we
receive while unfocused will assume `Alt` is still pressed. This results
in e.g. Firefox navigating through the history instead of scrolling the
page when using the mouse wheel on it.
We don't get any information about modifiers while we are missing
keyboard focus, so assuming no modifiers are active is the best we can
do.
The shell sends us a modifier update immediately before we regain
keyboard focus, so the state shouldn't get out of sync.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2112
Matthias Clasen [Thu, 2 Apr 2020 14:46:45 +0000 (14:46 +0000)]
Merge branch 'wip/smcv/libdir-independent-valgrind-suppressions' into 'master'
supp: Use a single suppressions file for lib, lib64 and multiarch
See merge request GNOME/gtk!1603
Matthias Clasen [Thu, 2 Apr 2020 13:29:32 +0000 (13:29 +0000)]
Merge branch 'im-context-wayland-fixes' into 'master'
Im context wayland fixes
See merge request GNOME/gtk!1605
Matthias Clasen [Thu, 2 Apr 2020 13:01:33 +0000 (09:01 -0400)]
imcontexsimple: Move Compose file loading to class_init
This ensures that it is done only once.
Matthias Clasen [Thu, 2 Apr 2020 12:56:21 +0000 (08:56 -0400)]
imcontextsimple: Simpify Compose file loading
We are not loading the Compose file for individual contexts,
it just gets added to a global list. So don't pass an im context
along. This will let us move the loading out of the initialization
of individual contexts, and only do it once.
Matthias Clasen [Thu, 2 Apr 2020 12:47:02 +0000 (08:47 -0400)]
imcontextsimple: Load ~/.Compose unconditionally
There is nothing display-specific in the ~/.Compose file,
so we can just try to load it without looking at the
display we are on.
Matthias Clasen [Thu, 2 Apr 2020 12:24:01 +0000 (08:24 -0400)]
imcontextsimple: Add a profiler mark for IO
We are loading a file here, thankfully in a thread, but
we do it every time an entry is created. Add a profiler
mark, to make this visible.
Simon McVittie [Thu, 2 Apr 2020 08:18:55 +0000 (09:18 +0100)]
supp: Use a single suppressions file for lib, lib64 and multiarch
In addition to the traditional library directory lib and the 64-bit
multilib directory lib64, this will cover Debian-style multiarch
(lib/x86_64-linux-gnu etc.), Arch Linux 32-bit (lib32), x32 and
various others.
Signed-off-by: Simon McVittie <smcv@debian.org>
Matthias Clasen [Thu, 2 Apr 2020 05:19:13 +0000 (05:19 +0000)]
Merge branch 'fix-menu-flicker' into 'master'
Fix crossing event generation
Closes #2536
See merge request GNOME/gtk!1601
Matthias Clasen [Thu, 2 Apr 2020 04:39:46 +0000 (00:39 -0400)]
Fix crossing event generation
We were not properly setting the new_descendent field
in Crossing structs for GTK_CROSSING_OUT events. This
was causing extraneous ::leave signals to be emitted,
and make model buttons in popover menus flicker when
hovered.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2536
Matthias Clasen [Wed, 1 Apr 2020 20:40:17 +0000 (20:40 +0000)]
Merge branch 'drop-popover-demo' into 'master'
gtk-demo: Remove the popover demo
Closes #2429
See merge request GNOME/gtk!1600
Matthias Clasen [Wed, 1 Apr 2020 19:44:22 +0000 (15:44 -0400)]
gtk-demo: Remove the popover demo
It doesn't work anymore, since popovers now need
support in the parent, and we don't really need
a demo just for popovers. They are used everywhere
already.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2429
Emmanuele Bassi [Wed, 1 Apr 2020 13:45:19 +0000 (13:45 +0000)]
Merge branch 'flow-box-typo' into 'master'
gtkflowbox: Fix a minor typo in the documentation
See merge request GNOME/gtk!1599
Philip Withnall [Wed, 1 Apr 2020 13:04:46 +0000 (14:04 +0100)]
gtkflowbox: Fix a minor typo in the documentation
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Matthias Clasen [Wed, 1 Apr 2020 05:04:02 +0000 (05:04 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
keynav: Fix Shift-Tab
See merge request GNOME/gtk!1598
Matthias Clasen [Wed, 1 Apr 2020 05:02:15 +0000 (05:02 +0000)]
Merge branch 'cursor-aspect-ratio' into 'master'
Add a cursor-aspect-ratio setting
See merge request GNOME/gtk!1597
Matthias Clasen [Wed, 1 Apr 2020 04:24:56 +0000 (00:24 -0400)]
Update the settings test
Matthias Clasen [Wed, 1 Apr 2020 04:21:19 +0000 (00:21 -0400)]
keynav: Fix Shift-Tab
This was broken by the shortcuts branch merge.
Matthias Clasen [Sun, 2 Feb 2020 12:21:42 +0000 (13:21 +0100)]
Add a cursor-aspect-ratio setting
Add a setting that controls how thick the text caret is drawn.
The default value is 0.04.
Matthias Clasen [Wed, 1 Apr 2020 01:09:30 +0000 (21:09 -0400)]
3.98.2
Matthias Clasen [Wed, 1 Apr 2020 00:16:26 +0000 (00:16 +0000)]
Merge branch 'wip/carlosg/stuck-pointer-focus' into 'master'
gtkmain: Do not try to coalesce/ignore crossing events
See merge request GNOME/gtk!1594
Matthias Clasen [Tue, 31 Mar 2020 23:19:09 +0000 (23:19 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1593
Carlos Garnacho [Tue, 31 Mar 2020 22:32:57 +0000 (00:32 +0200)]
gtkmain: Do not try to coalesce/ignore crossing events
Under grabbing circumstances we used to get several crossing events,
some corresponding to the grab itself and some corresponding to
pointer motion.
The backends now do a better job at keeping those simple, which
means we sit listening for events that don't actually arrive. This
triggers pointer focus issues when dragging windows or opening
grabbing popups.
Actually obey those events, they will be the only ones we get now.
Matthias Clasen [Tue, 31 Mar 2020 19:59:23 +0000 (15:59 -0400)]
testsuite: Add a test for transforms in builder files
Matthias Clasen [Tue, 31 Mar 2020 19:51:25 +0000 (15:51 -0400)]
testsuite: Add a test for parsing layout properties
and drop the child properties test that doesn't
do anything anymore.
Matthias Clasen [Tue, 31 Mar 2020 18:32:18 +0000 (18:32 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1591
Matthias Clasen [Tue, 31 Mar 2020 17:06:19 +0000 (13:06 -0400)]
window: Fix residual resizing issues
After the GdkToplevel split, GtkWindow occasionally
forgets its minimum size. Fix this by keeping a GdkToplevelLayout
around and reusing it.
Chun-wei Fan [Tue, 31 Mar 2020 04:00:26 +0000 (12:00 +0800)]
meson.build: Fix Visual Studio builds
We need to make the C++ language available before we can access the C++
compiler object...
Matthias Clasen [Tue, 31 Mar 2020 01:58:24 +0000 (21:58 -0400)]
NEWS: Updates
Matthias Clasen [Tue, 31 Mar 2020 00:39:37 +0000 (00:39 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1589
Matthias Clasen [Tue, 31 Mar 2020 00:09:29 +0000 (20:09 -0400)]
shortcutcontroller: Document buildable support
Matthias Clasen [Mon, 30 Mar 2020 23:03:22 +0000 (19:03 -0400)]
testsuite: Add a builder test for shortcut controllers
Matthias Clasen [Mon, 30 Mar 2020 23:02:35 +0000 (19:02 -0400)]
shortcutcontroller: Fix builder support
The GtkBuilder support was not working anymore after
triggers and actions have been turned into objects.
Fix this.
Matthias Clasen [Mon, 30 Mar 2020 18:12:14 +0000 (14:12 -0400)]
Add new api to the docs
Matthias Clasen [Mon, 30 Mar 2020 17:45:40 +0000 (17:45 +0000)]
Merge branch 'wip/hadess/portal-fixes' into 'master'
Portal fixes
See merge request GNOME/gtk!1585
Matthias Clasen [Mon, 30 Mar 2020 17:41:12 +0000 (17:41 +0000)]
Merge branch 'issue982' into 'master'
gdk: Add gdk_toplevel_inhibit_system_shortcuts API
Closes #982
See merge request GNOME/gtk!1542
Bastien Nocera [Mon, 30 Mar 2020 12:18:11 +0000 (14:18 +0200)]
filechoosernativeportal: Fall back if portal is too old
Add portal version checking as originally implemented for the GTK 3.x
branch.
See:
35fec1c6b298e0e294530e1ffc8615b5bd261531
Bastien Nocera [Mon, 23 Mar 2020 13:56:43 +0000 (14:56 +0100)]
Add portal version checking helper
Add gtk_get_portal_interface_version() to check the version of a portal.
Bastien Nocera [Mon, 23 Mar 2020 13:45:57 +0000 (14:45 +0100)]
colorpickerportal: Simplify version fetching code
Simplify version checking code by using a function to fetch the uint out
of the GVariant and don't throw a warning if it can't be fetched.
Olivier Fourdan [Fri, 27 Mar 2020 16:14:52 +0000 (17:14 +0100)]
win32: Add inhibit shortcut properties
Win32 backend doesn't have support for inhibit shortcuts, yet it needs
support the standard set of GdkToplevel properties.
Add support for the "inhibit-list" object property to GdkToplevel on
win32.
Olivier Fourdan [Fri, 27 Mar 2020 16:13:16 +0000 (17:13 +0100)]
broadway: Add inhibit shortcut properties
Broadway doesn't have support for inhibit shortcuts, yet it needs to
support the standard set of GdkToplevel properties.
Add support for the "inhibit-list" object property to GdkToplevel on
Broadway.
Olivier Fourdan [Fri, 20 Mar 2020 14:24:06 +0000 (15:24 +0100)]
x11: Implement inhibit_system_shortcuts API
On X11, there is no such equivalent to the inhibit shortcut protocol
found on Wayland.
To implement the inhibit_system_shortcuts API on X11, we emulate the
same behavior using grabs on the keyboard.
To avoid keeping active grabs on the keyboard that would affect other
X11 applications even when the surface isn't focused, the X11
implementation takes care of releasing the grabs as soon as the toplevel
loses focus.
Olivier Fourdan [Fri, 27 Mar 2020 15:54:25 +0000 (16:54 +0100)]
x11: Use gdk_x11_* rather than gdk_wayland_*
Rename the local functions for the x11 backend as gdk_x11_* rather than
gdk_wayland_*
Olivier Fourdan [Fri, 20 Mar 2020 14:22:30 +0000 (15:22 +0100)]
wayland: Implement inhibit_system_shortcuts API
On Wayland, this is a direct mapping with the inhibit shortcut protocol
that GDK already supports.
Simply wire the new API to the existing entries.
Olivier Fourdan [Fri, 27 Mar 2020 13:40:52 +0000 (14:40 +0100)]
wayland: Use a GdkSeat as key for our internal hash table
With the current implementation, we use a `wl_seat` as the key for our
internal has table where we store the Wayland shortcuts inhibitors.
There is however no technical reason for this, and we could use a
GdkSeat instead, which will ease the implementation of the GdkToplevel
shortcut inhibition API.
Olivier Fourdan [Mon, 30 Mar 2020 14:55:05 +0000 (16:55 +0200)]
gdk: add internal `gdk_surface_get_seat_from_event()`
This can come handy to get the seat from a surface/event.
Olivier Fourdan [Fri, 20 Mar 2020 14:17:41 +0000 (15:17 +0100)]
gdk: Add gdk_toplevel_inhibit_system_shortcuts API
With the removal of grabs from the public API, we need a replacement API
to let applications bypass system keyboard shortcuts.
A typical use case for this API is remote desktop or virtual machine
viewers which need to inhibit the default system keyboard shortcuts so
that the remote session or virtual host gets those instead of the local
environment.
Close: https://gitlab.gnome.org/GNOME/gtk/issues/982
Matthias Clasen [Mon, 30 Mar 2020 15:15:51 +0000 (15:15 +0000)]
Merge branch 'wip/jimmac/avoid-t-word' into 'master'
widget-factory: avoid the T word
See merge request GNOME/gtk!1586
Jakub Steiner [Thu, 26 Mar 2020 19:29:43 +0000 (20:29 +0100)]
widget-factory: avoid the T word
- style variant sound more appropriate
Matthias Clasen [Mon, 30 Mar 2020 11:37:57 +0000 (11:37 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
widget: Remove a leftover vfunc
See merge request GNOME/gtk!1584
Matthias Clasen [Mon, 30 Mar 2020 03:38:34 +0000 (23:38 -0400)]
window: Remove initial-focus leftovers
We removed the way to set initial_focus a year ago,
time to get rid of the leftovers.
Matthias Clasen [Mon, 30 Mar 2020 03:18:56 +0000 (23:18 -0400)]
widget: Remove a leftover vfunc
The popup-menu signal is gone, so we can remove the vfunc.
Yosef Or Boczko [Sun, 29 Mar 2020 15:34:36 +0000 (15:34 +0000)]
Update Hebrew translation
Yosef Or Boczko [Sun, 29 Mar 2020 15:33:40 +0000 (15:33 +0000)]
Update Hebrew translation
Timm Bäder [Sat, 28 Mar 2020 19:37:29 +0000 (20:37 +0100)]
widget: Return an array from list_controllers
Minimize the GList usage throughout the code base.
Matthias Clasen [Sun, 29 Mar 2020 13:18:35 +0000 (13:18 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1583
Matthias Clasen [Sat, 28 Mar 2020 21:16:42 +0000 (17:16 -0400)]
coloreditor: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 21:12:40 +0000 (17:12 -0400)]
colorchooserdialog: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 21:09:52 +0000 (17:09 -0400)]
colorchooserwidget: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 21:01:58 +0000 (17:01 -0400)]
notebook: Drop the Private struct